Authors:
J.M.Rius, J.Mateu, J.M.Tamayo, C.Collado, A. Padilla and J.O'Callaghan.
Dpt. Signal Theory and Communications, Universitat Politècnica de
Catalunya (UPC),
Copyright: ©2009 Universitat Politècnica de Catalunya (UPC).
Contact:
lossyfilters@tsc.upc.edu
http://www.tsc.upc.edu/lossyfilters
Acknowledgement:
The software was developed in the frame of contract 21398/08/NL/GLC with the
European Space Agency (ESA). Technical Offer was Christoph Ernst. Further features
were developed under contract UPC-C7767 with Thales Alenia Space España
(TAS-E).
Contributions to the definition of the software functionality and testing have
been made by Christoph Ernst, Mónica Martínez Mendoza and other
ESA-ESTEC personnel, and Santiago Sobrino and Luis Roglá from TAS-E.
Software description:
The LossyFilters software package has been written to synthesize filters
following various forms of classical (no-loss considered in the synthesis),
pre-distortion and prescribed insertion loss synthesis. This software obtains the
coupling matrix of several network topologies for a given response and allows
performing rotations on them to find the desired topology. Additionally, the
software allows to evaluate the effect of loss in the networks resulting from the
synthesis, even in those cases where the synthesis results in an ideal lossless
network (i.e., classical and pre-distortion synthesis).
The software package has been divided in two parts:
- Open-source GUI and free libraries: The graphical user interface (GUI)
MWfiltersGUI, the 'Free Filter Library' and the 'Common Functions Library' are free
open-source software with capability to edit the input parameters, synthesize
Butterwork, Chebyshev and Quasieliptic filters with minimum insertion loss, rotate
and save the filter coupling matrix and display and save the [S] parameters. The GUI
will also run the non-free libraries if they are installed in the system.
- Non-free libraries: The non-free libraries are not required but, when
they are installed in the system, allow the synthesis of Generalized Chebyshev
filters with prescribed transmission zeros and linear phase optimization
("Library of Extra Filters") and the synthesis of lossy filters with the
pre-distortion and prescribed insertion loss techniques ("Library of Lossy
Filters).
The GUI is full-featured with complete functionality to open, edit, save and
execute parameter files, as well as plot [S] parameters and manually edit coupling
matrices:
- Actions can be launched by menus, toolbar buttons or keyboard shortcuts.
- There are tooltips in the parameters edit widgets.
- Application output in main window log widget and status bar.
- Modeless parameter edit dialog window with Accept / Compute / Discard buttons,
to allow the computation with trial parameter values without closing the dialog.
- Preventive data validation at the parameters edit widgets in order to prevent
the user introducing invalid data.
- Frequency parameters edit widgets allow the user to set THz, GHz, MHz, kHZ, Hz
units.
- The parameter edit window detects if there are changes in the parameters, so
that the application can warn the user if he is going to destroy non-saved changes.
- Plots S-parameters graph with phase or group delay in right-axis.
- Plots support adding, moving and deleting markers.
- Select which results to plot.
- Zoom S-parameter plot.
- Manual and autoscaling for each axis of S-parameter plot.
- Print S-parameter plot to printer or PDF file.
- Display coupling matrices and Q of resonators.
- Edit coupling matrix topology for non-zero elements optimization.
- Coupling matrices window: Manual rotation, node scaling, element anhilitation,
add non-resonant nodes, edit matrix entries or Q values, file load/save, etc. There
are facilities to undo and revert to any previous state.
- Plot S-parameters computed from the current coupling matrix compared with
S-parameters computed from the characteristic polynomials. Display the average error
in dB.
- Read [S] parameters from Touchstone format file.
- Store, recover and compare results from different computations or read from
Touchstone format file.
- Specification mask read from file and plotted.
- Sensitivity analysis.
- User-selectable predistortion zeros.
- Code fully documented with Doxygen.
The free libraries have functionality to:
- Read and parse parameters file.
- Write parameters file.
- Printing strings to:
- Console, when called from the command line.
- Main window log widget, when called from the GUI.
- Catches syntax errors in the parameter file.
- Correctly handles non-ASCII characters. Reads and writes UTF-8 format parameter
files, accepts non-English characters in the GUI and in console output. When python
reports that an output device is not able to print non-ASCII characters, the console
interface replaces 8-bit characters by "?" in the output.
- Filter synthesis: Butterworth, Chebyshev and Quasielpitic filters.
- Generation of transversal coupling matrix (TCM) N+2.
- Functions to generate rotation matrices and to find the angle that zeroes a
given coupling matrix element.
- Transformation from transversal coupling matrix (TCM) to folded coupling matrix
(FCM) and to many other types of coupling matrices.
- Calculation of the passband coupling matrix, which is obtained from the
low-pass one by a scaling. The resulting passband coupling matrix can be directly
related to design parameters used for the filter design, such as the coupling
between resonators.
- Optimize coupling matrix elements for a given topology and resonator Q,
adjusting [S] parameters to the polynomials [S] parameters or to a specification
mask.
- Prescribed flatness for lossless-like filters with flat passband response. The
quality factor of a filter to emulate is specified in order to append additional
resonator losses.
- Displays Q of resonators.
- Compute energy stored at resonators and reactive couplings and power dissipated
at resonators and resistive couplings.
- Reports roundoff errors in polynomial roots and partial fraction expansion.
- Reports error in S-parameters computed from transversal and folded coupling
matrices compared with S-parameters computed from the characteristic polynomials.
- Code fully documented with Doxygen.
- The "Library of Extra filters" provides the following
additional functions:
- Generalized Chebyshev transfer function with arbitrary transmission zeros [from
Cameron, chapter 6].
- Linear phase equalization, optimizing the position of real and/or complex
transmission zeros.
- Code fully documented with Doxygen.
- The "Library of Lossy filters" provides the following
additional functions:
- Filter losses: predistortion (conventional or adaptive).
- Filter losses: "Prescribed insertion loss" with non-Uniform Q case 1
(k21+k11+k22 asymmetrical), case 2 (k21) and case 3 (k21+zero/pole).
- FCM matrix rotation to obtain uniform Q in resonators for Lossy Filter case-1
(kS11 + kS21), N=4 and N=6 and case-3 (kS21 + pole/zero), N=6. Automatic
symmetrization of transmission zeros if necessary.
- Code fully documented with Doxygen.